import axios from 'axios'
import router from '../router'
// 自定义axios
// const ins = axios.create({
//   // baseURL 以后调用接口可以不用写这个，程序会自动拼接
//   baseURL: 'http://121.89.205.189:3001/api',
//   timeout: 6000 // 请求的超时时间
// })

// 环境 - 开发环境 ｜ 测试环境 ｜ 生产环境
//       localhost |  ip地址  |  域名
//      yarn serve ｜ yarn build  ｜ yarn build
//      development |       |  production
// process 属于nodejs自带的一个全局的模块 ---- 进程
// http://nodejs.cn/api/process.html#processenv
// process.env ---- 判断环境
// process.env 本身并没有 NODE_ENV 这个变量，程序脚手架设置的 -- webpack 设置
const isDev = process.env.NODE_ENV === 'development' // 判断当前的运行环境的

const ins = axios.create({
  baseURL: isDev ? 'http://121.89.205.189:3001/api' : 'http://121.89.205.189:3001/api',
  timeout: 6000 // 请求的超时时间
})

// 请求拦截器
ins.interceptors.request.use((config) => {
  // 比如登录的验证 - token
  config.headers.token = localStorage.getItem('token')
  return config
}, (error) => {
  return Promise.reject(error)
})

// 响应拦截器
ins.interceptors.response.use((response) => {
  // 验证登录，如果验证不通过，可以跳转到登录页面，验证通过，返回想要的数据
  if (response.data.code === '10119') {
    // 后端校验登录状态 失败，需要跳转至 登录页面
    router.push('/login')
    return response
  }
  return response
}, (error) => {
  return Promise.reject(error)
})

export default ins
